//package com.example.vae.Utils;
//
//import android.content.ContentResolver;
//import android.content.ContentValues;
//import android.content.Intent;
//import android.database.Cursor;
//import android.graphics.Bitmap;
//import android.graphics.BitmapFactory;
//import android.net.Uri;
//import android.os.Build;
//import android.os.Bundle;
//import android.os.Environment;
//import android.provider.MediaStore;
//import android.util.Log;
//import android.view.View;
//import android.widget.Button;
//import android.widget.ImageView;
//import android.widget.TextView;
//
//import androidx.annotation.Nullable;
//import androidx.appcompat.app.AppCompatActivity;
//import androidx.core.content.FileProvider;
//import androidx.lifecycle.ViewModelProviders;
//
//import java.io.File;
//import java.io.FileNotFoundException;
//
//public class CameraActivity extends AppCompatActivity {
//
//    private static final int REQUEST_CODE_ALBUM = 100;//打开相册
//    private static final int REQUEST_CODE_CAMERA = 101;//打开相机
//    private static final int REQUEST_RESULT_CODE = 102;//裁剪后保存
//
//    private Button ca,add;
//    private ImageView imageView;
//    String photoPath = Environment.getExternalStorageDirectory().getPath() + "/" + File.separator + "123.jpg";
//    File pictureFile = new File(photoPath);
//    Uri picUri;
//
//    String mLinshi = System.currentTimeMillis() + ".jpg";
//    File photoFile = new File(Environment.getExternalStorageDirectory().getPath(), mLinshi);
//
//    Uri mUriPath = Uri.parse("file://" + photoFile.getAbsolutePath());
//
//    private TextView textView;
//    private MyViewModel myViewModel;
//    @Override
//    protected void onCreate(Bundle savedInstanceState) {
//        super.onCreate(savedInstanceState);
//        setContentView(R.layout.activity_camera);
//        myViewModel= ViewModelProviders.of(this).get(MyViewModel.class);
//        ca = findViewById(R.id.ca);
//        imageView = findViewById(R.id.i1);
//        ca.setOnClickListener(new View.OnClickListener() {
//            @Override
//            public void onClick(View v) {
//                Intent intent;
//                if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
//                    intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
//                    String packageName = getApplicationContext().getPackageName();
//                    picUri = FileProvider.getUriForFile(CameraActivity.this, new StringBuilder(packageName).append(".fileprovider").toString(), pictureFile);
//                } else {
//                    intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
//                    intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
//                    picUri = Uri.fromFile(pictureFile);
//                }
//                intent.putExtra(MediaStore.EXTRA_OUTPUT, picUri);
//                startActivityForResult(intent, REQUEST_CODE_CAMERA);
//            }
//        });
//        textView=findViewById(R.id.textView);
//        add=findViewById(R.id.add);
//        add.setOnClickListener(new View.OnClickListener() {
//            @Override
//            public void onClick(View v) {
//                myViewModel.i++;
//                textView.setText(String.valueOf(myViewModel.i));
//            }
//        });
//    }
//
//    @Override
//    protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
//        super.onActivityResult(requestCode, resultCode, data);
//        if (requestCode == REQUEST_CODE_ALBUM && resultCode == RESULT_OK) {
//            if (data != null) {
//                // 照片的原始资源地址
//                Uri uri = data.getData();
//                String path = uri.getPath();
//                ContentResolver cr = getContentResolver();
//                try {
//                    Bitmap bitmap = BitmapFactory.decodeStream(cr.openInputStream(uri));
//                    /* 将Bitmap设定到ImageView */
//                    imageView.setImageBitmap(bitmap);
//                } catch (FileNotFoundException e) {
//                    Log.e("Exception", e.getMessage(), e);
//                }
//            }
//        } else if (requestCode == REQUEST_CODE_CAMERA && resultCode == RESULT_OK) {
//            File tempFile = new File(photoPath);
//            cropImg(getImageContentUri(tempFile));//对照片进行裁剪保存
//        } else if (requestCode == REQUEST_RESULT_CODE && resultCode == RESULT_OK) {
//            try {
//                Bitmap image = BitmapFactory.decodeStream(getContentResolver().openInputStream(mUriPath));
//                /* 将Bitmap设定到ImageView */
//                imageView.setImageBitmap(image);
//            } catch (FileNotFoundException e) {
//                e.printStackTrace();
//            }
//        }
//    }
//
//    public Uri getImageContentUri(File imageFile) {
//        String filePath = imageFile.getAbsolutePath();
//        Cursor cursor = getContentResolver().query(
//                MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
//                new String[]{MediaStore.Images.Media._ID},
//                MediaStore.Images.Media.DATA + "=? ",
//                new String[]{filePath}, null);
//
//        if (cursor != null && cursor.moveToFirst()) {
//            int id = cursor.getInt(cursor
//                    .getColumnIndex(MediaStore.MediaColumns._ID));
//            Uri baseUri = Uri.parse("content://media/external/images/media");
//            return Uri.withAppendedPath(baseUri, "" + id);
//        } else {
//            if (imageFile.exists()) {
//                ContentValues values = new ContentValues();
//                values.put(MediaStore.Images.Media.DATA, filePath);
//                return getContentResolver().insert(
//                        MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values);
//            } else {
//                return null;
//            }
//        }
//    }
//
//    public void cropImg(Uri uri) {
//        Intent intent = new Intent("com.android.camera.action.CROP");
//        intent.setDataAndType(uri, "image/*");
//
//        //实现对图片的裁剪，必须要设置图片的属性和大小
//        intent.putExtra("crop", "true");  //滑动选中图片区域
//        intent.putExtra("aspectX", 1);  //裁剪框比例1:1
//        intent.putExtra("aspectY", 1);
//        intent.putExtra("outputX", 700);  //输出图片大小
//        intent.putExtra("outputY", 700);
//        intent.putExtra("return-data", true);  //有返回值
//
//
//        //将裁剪好的图输出到所建文件中
//        intent.putExtra(MediaStore.EXTRA_OUTPUT, mUriPath);
//        intent.putExtra("outputFormat", Bitmap.CompressFormat.JPEG.toString());
//        //注意：此处应设置return-data为false，如果设置为true，是直接返回bitmap格式的数据，耗费内存。设置为false，然后，设置裁剪完之后保存的路径，即：intent.putExtra(MediaStore.EXTRA_OUTPUT, uriPath);
//        intent.putExtra("return-data", false);
//        startActivityForResult(intent, REQUEST_RESULT_CODE);
//    }
//}
